/**********************************************************************
 Copyright (C) 2010 Teppo Eeva

 This file is part of Arithmetic Game.
 For more information, see <http://code.google.com/p/arithmetic-game/>

 Arithmetic Game is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Arithmetic Game is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Arithmetic Game.  If not, see <http://www.gnu.org/licenses/>.
 **********************************************************************/

#ifndef HIGHSCOREDIALOG_H
#define HIGHSCOREDIALOG_H

#include <QDialog>
#include <QAbstractButton>
#include "arithgame.h"

namespace Ui {
    class HighScoreDialog;
}

class QStandardItemModel;
class HighScoreManager;

class HighScoreDialog : public QDialog {
    Q_OBJECT
public:
    HighScoreDialog(QWidget *parent = 0);
    ~HighScoreDialog();

public:
    void exec(HighScoreManager& manager, ArithDiffLevel diffLevel);

private slots:

    void reset();

Q_SIGNALS:

    // The signal is emited when Reset button is pressed
    void resetHighScores( );

private Q_SLOTS:

    void setActiveTab(int index);

protected:
    void changeEvent(QEvent *e);

private:
    Ui::HighScoreDialog *ui;
    QStandardItemModel* m_model;
    HighScoreManager* m_manager;
};

#endif // HIGHSCOREDIALOG_H
